<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>

<script>
    // function fn(){
    //     var a = 1; // 2

    //     return function(){
    //         a++;
    //         return a;
    //     }
    // }

    // var newFn = fn();
    // var result = newFn();
    // console.log(result);

    // var result = newFn();
    // console.log(result);

    // var result = newFn();
    // console.log(result);


    function fn(){
        var a = 1; // 2

        return {
            addA:function(){
                a++;
                return a;
            },
            reduceA:function(){
                a++;
                return a;
            },
            // 字面量对象配置取值拦截和赋值拦截 (Object.defineProperty)
            get a(){
                return a;
            },
            set a(val){
                a = val;
            }
        }
    }

    // var obj = fn();
    // console.log(obj);

    // obj.addA();
    // obj.addA();
    // obj.addA();
    // console.log(obj.a);


    


</script>
</html>